Container{ }
getLocalName{ }
getUri{ }
processStartChildElement{ }
processEndChildElement{ }
handleMultiple{ }
getNestedElements{ }
toString{ }
isInNamespace{
  return uri.length() == 0 || uri.equals(getUri());
}
trim{
  if (str == null) {
    return null;
 else {
}
BeansXmlHandler{
  this.file=file;
  this.propertyReplacer=propertyReplacer;
  this.interceptors=new ArrayList<Metadata<String>>();
  this.decorators=new ArrayList<Metadata<String>>();
  this.alternativeStereotypes=new ArrayList<Metadata<String>>();
  this.includes=new ArrayList<Metadata<Filter>>();
  this.excludes=new ArrayList<Metadata<Filter>>();
  containers.add(new Container(JAVAEE_URI,"interceptors","class"){
    @Override public void processEndChildElement(    String uri,    String localName,    String qName,    String nestedText){
      if (isInNamespace(uri) && "class".equals(localName)) {
        interceptors.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
    @Override public void handleMultiple(){
  containers.add(new Container(JAVAEE_URI,"decorators","class"){
    @Override public void processEndChildElement(    String uri,    String localName,    String qName,    String nestedText){
      if (isInNamespace(uri) && "class".equals(localName)) {
        decorators.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
    @Override public void handleMultiple(){
  containers.add(new Container(JAVAEE_URI,"alternatives","class","stereotype"){
    @Override public void processEndChildElement(    String uri,    String localName,    String qName,    String nestedText){
      if (isInNamespace(uri) && "class".equals(localName)) {
        alternativeClasses.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
 else       if (isInNamespace(uri) && "stereotype".equals(localName)) {
        alternativeStereotypes.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
    @Override public void handleMultiple(){
  containers.add(new Container(WELD_URI,"scan"){
    String name;
    String pattern;
      if (isFilterElement(uri,localName)) {
        systemPropertyActivations.add(systemPropertyActivation);
        classAvailableActivations.add(classAvailableActivation);
    @Override public void processEndChildElement(    String uri,    String localName,    String qName,    String nestedText){
      if (isFilterElement(uri,localName)) {
        Metadata<Filter> filter=new XmlMetadata<Filter>(qName,new FilterImpl(pattern,name,systemPropertyActivations,classAvailableActivations),file,locator.getLineNumber());
        if ("include".equals(localName)) {
          includes.add(filter);
 else         if ("exclude".equals(localName)) {
          excludes.add(filter);
        name=null;
        pattern=null;
    private boolean isFilterElement(    String uri,    String localName){
      return isInNamespace(uri) && ("include".equals(localName) || "exclude".equals(localName));
    @Override public void handleMultiple(){
      throw new DefinitionException(MULTIPLE_SCANNING,file + "@" + locator.getLineNumber());
}
processEndChildElement{
  if (isInNamespace(uri) && "class".equals(localName)) {
    interceptors.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
}
handleMultiple{
  throw new DefinitionException(MULTIPLE_INTERCEPTORS,file + "@" + locator.getLineNumber());
}
processEndChildElement{
  if (isInNamespace(uri) && "class".equals(localName)) {
    decorators.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
}
handleMultiple{
  throw new DefinitionException(MULTIPLE_DECORATORS,file + "@" + locator.getLineNumber());
}
processEndChildElement{
  if (isInNamespace(uri) && "class".equals(localName)) {
    alternativeClasses.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
 else   if (isInNamespace(uri) && "stereotype".equals(localName)) {
    alternativeStereotypes.add(new XmlMetadata<String>(qName,propertyReplacer.replaceProperties(trim(nestedText)),file,locator.getLineNumber()));
}
handleMultiple{
  throw new DefinitionException(MULTIPLE_ALTERNATIVES,file + "@" + locator.getLineNumber());
}
processStartChildElement{
  if (isFilterElement(uri,localName)) {
    name=trim(attributes.getValue("name"));
    pattern=trim(attributes.getValue("pattern"));
    systemPropertyActivations=new ArrayList<Metadata<SystemPropertyActivation>>();
    classAvailableActivations=new ArrayList<Metadata<ClassAvailableActivation>>();
    String systemPropertyName=trim(attributes.getValue("name"));
    String systemPropertyValue=trim(attributes.getValue("value"));
    Metadata<SystemPropertyActivation> systemPropertyActivation=new XmlMetadata<SystemPropertyActivation>(qName,new SystemPropertyActivationImpl(systemPropertyName,systemPropertyValue),file,locator.getLineNumber());
    systemPropertyActivations.add(systemPropertyActivation);
    String className=trim(attributes.getValue("name"));
    Metadata<ClassAvailableActivation> classAvailableActivation=new XmlMetadata<ClassAvailableActivation>(qName,new ClassAvailableActivationImpl(className),file,locator.getLineNumber());
    classAvailableActivations.add(classAvailableActivation);
}
processEndChildElement{
  if (isFilterElement(uri,localName)) {
    Metadata<Filter> filter=new XmlMetadata<Filter>(qName,new FilterImpl(pattern,name,systemPropertyActivations,classAvailableActivations),file,locator.getLineNumber());
    if ("include".equals(localName)) {
      includes.add(filter);
 else     if ("exclude".equals(localName)) {
      excludes.add(filter);
}
isFilterElement{
  return isInNamespace(uri) && ("include".equals(localName) || "exclude".equals(localName));
}
handleMultiple{
  throw new DefinitionException(MULTIPLE_SCANNING,file + "@" + locator.getLineNumber());
}
startElement{
  if (currentContainer == null) {
    Container container=getContainer(uri,localName);
    if (container != null) {
      if (seenContainers.contains(container)) {
        container.handleMultiple();
      currentContainer=container;
    currentContainer.processStartChildElement(uri,localName,qName,attributes);
    if (currentContainer.getNestedElements().contains(localName)) {
}
endElement{
  if (currentContainer != null) {
    Container container=getContainer(uri,localName);
    if (container != null) {
      seenContainers.add(container);
      currentContainer=null;
}
getContainer{ }
getContainer{
    if (uri.length() == 0) {
      if (container.getLocalName().equals(localName)) {
 else {
      if (container.getLocalName().equals(localName) && container.getUri().equals(uri)) {
  return null;
}
createBeansXml{
  return new BeansXmlImpl(alternativeClasses,alternativeStereotypes,decorators,interceptors,new ScanningImpl(includes,excludes));
}
characters{
  if (buffer != null) {
    buffer.append(ch,start,length);
}
setDocumentLocator{ }
warning{
  WeldLogger.DEPLOYMENT_LOGGER.beansXmlValidationWarning(file,e.getLineNumber(),e.getMessage());
}
error{
  WeldLogger.DEPLOYMENT_LOGGER.beansXmlValidationError(file,e.getLineNumber(),e.getMessage());
}
